草庐IT

c++ - LLDB C++调试

全部标签

c++ - Visual Studio 停止调试时真的可以不清理吗?

我有一个运行一些不稳定硬件的控制台应用程序。如果我不能很好地脱离它,Windows会在五分钟后蓝屏。我可以使用SetConsoleCtrlHandler捕捉应用程序关闭的时间。但是当我在visualstudio中点击“停止调试”时,它会跳过这个过程并残忍地杀死程序。截至2009年,它出现nobody有一个solution为此problem.现在还是这样吗?如果我不小心按错了按钮,我真的必须忍受蓝屏吗? 最佳答案 终止进程是该按钮的作用。如果您希望程序正常终止,则需要让它运行完成。您可以使用调试器的“继续”按钮,或者只是脱离进程,然后

c# - 如何调试挂起的 WPF 应用程序?

我有一个WPF应用程序卡在一个用户的机器上。其他用户不受影响。该应用程序在开发环境之外本地运行和在调试下运行时都会挂起。该问题可以可靠地重现——无论用户尝试做什么,它都会挂起。在调试下运行不提供任何线索,不抛出异常,应用程序只是停止响应。我有哪些调试选项?是否有任何外部工具(例如sysinternals套件)可以提供帮助?是否有任何VisualStudio调试器技巧或技巧可以提供更多信息? 最佳答案 是的,您可以使用mdbg.exe附加到挂起的进程(一个PID),当您在那里时按w查看堆栈跟踪。顺便说一句。挂起可能是由损坏的字体缓存引

c# - 什么是调试Windows可执行文件的良好库?

Closed.ThisquestiondoesnotmeetStackOverflowguidelines。它当前不接受答案。想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。3年前关闭。Improvethisquestion我正在开发一个IDE,目前可以使用该IDE。现在,我想添加一些不错的调试功能。不幸的是,我无法找到有关此主题的很多信息。我已经尝试过从头开始构建调试器,但是这比我希望的要多得多。那么,有谁知道我可以在C#.net中使用一个好的调试库来调试PE格式的非托管Windows可执行文件?进行说明:IDE用C#编写,但是IDE管理D编程语言的代码,该语言

c - 无法使用for循环创建多个线程

我正在尝试使用for循环创建3个线程。以下是我的代码片段:DWORDWINAPIThreadProc0(LPVOIDparam){return0;}DWORDWINAPIThreadProc1(LPVOIDparam){return0;}DWORDWINAPIThreadProc2(LPVOIDparam){return0;}intWINAPIWinMain(HINSTANCEhInst,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnShowCmd){DWORDthreadId=0;intmax_number=1;//Startthethreads

java - 无法在 Eclipse 中调试简单的 Java 应用程序。无法连接到虚拟机。 AGENT_ERROR_TRANSPORT_INIT(197)

当我尝试在Eclipse中调试一个简单的应用程序时,我收到以下错误:无法连接到虚拟机com.sun.jdi.connect.TransportTimeoutException控制台为我提供了一个孤独的字符串:native方法中的fatalerror:JDWP未初始化传输,jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)我安装了JRE1.6、JRE1.7和JDK1.7。都试过了。我看过很多相同的主题,但没有一个答案能帮助我解决我的问题。他们在这里:1)禁用防火墙。没有帮助。我有最新的Avast版本。目前9.0。我对该软件有点怀疑,因为在更新我的Avas

windows - 调试 WFP 标注驱动程序的选项有哪些

我是内核模式Windows驱动程序开发的新手,在从WFP标注示例中获取调试信息时遇到问题。我正在寻找更多选项或关于我一直在尝试的选项做错了什么的提示。首先,我下载了WFPsampler并按照其描述中的说明进行操作。我正在使用通过模拟串行电缆连接的Windows8.1x64主机和Windows7x64目标。它们都是VirtualBoxVM。我调试的主要命令是WFPSampler.Exe-sPROXY-lFWPM_LAYER_ALE_BIND_REDIRECT_V4-aaid"C:\ProgramFiles(x86)\InternetExplorer\iexplore.exe"-pla10

c - 如何运行 KMDF 驱动程序?

我已经为本地内核调试设置了我的系统,因为我只打算编写一个具有两个函数的简单驱动程序。我刚刚构建了一个简单的“helloworld”类型的驱动程序,看看我是否能让我的驱动程序运行,目前我已经禁用了驱动程序签名验证并启用了内核Debug模式,使用:bcdedit/debugon我还使用Windows测试商店的证书对我的驱动程序进行了测试签名?或者在VS2015中叫什么:)现在,我的问题是我在构建后通过右键单击.inf文件来安装我的驱动程序,但是我在我的驱动程序(下面的代码)中没有看到任何调试打印的输出,所以这让我相信我的驱动程序根本没有运行?或者是什么?我在安装驱动程序的机器上更改了Com

windows - 在 Windows 8.1 中将调试器附加到 Services.exe

我已尝试将调试器附加到Windows8.1中的Services.exe,但我始终收到“访问被拒绝”。即使在确保WinDbg以“管理员身份”运行(以提升启动)之后也是如此。只是为了测试,我尝试从任务管理器创建一个内存转储文件,但我得到了同样的错误。我还尝试使用Sysinternals(ProcExp)中的ProcessExplorer创建转储,但我遇到了同样的错误。上图为services.exe所在的进程树(使用procexp查看)。有趣的是,我们可以为wininit.exe和svchost.exe创建转储文件,但不能为services.exe创建转储文件。我让一些同事在Windows7

windows - 符号如何解决在 x86 调试中使用 FPO 遍历堆栈?

在这个答案中:https://stackoverflow.com/a/8646611/192359,解释了在调试x86代码时,即使使用了FPO(帧指针省略),符号也允许调试器显示调用堆栈。给出的解释是:Onthex86PDBscontainFPOinformation,whichallowsthedebuggertoreliablyunwindacallstack.我的问题是这些信息是什么?据我了解,仅知道函数是否具有FPO并不能帮助您找到堆栈指针的原始值,因为这取决于运行时信息。我在这里错过了什么? 最佳答案 从根本上说,总是可以

c++ - 调试器主循环

我正在尝试在c++/Windows中实现本文中描述的“调试器主循环”:WritingtheDebugger'sMainLoop但我希望任何抛出的异常都能在屏幕上显示错误消息并被调试器捕获。我知道我可以通过给ContinueDebugEvent一些DBG_值来做到这一点???但我不知道它是什么。这个值是多少?我还注意到,当有内容写入控制台时,控制台应用程序会通知调试器异常。我怎样才能从这些东西中过滤出实际的异常?跟“第一次机会”值有关系吗?谢谢:) 最佳答案 调试器会为被调试者中发生的每个异常接收一个异常事件。如果将DBG_CONTI